package com.forum.service;

import com.forum.dto.UserDTO;
import com.forum.dto.UserForgotDTO;
import com.forum.dto.UserPageQueryDTO;
import com.forum.entity.User;
import com.forum.result.PageResult;
import com.forum.result.Result;
import com.forum.vo.UserInfoStatisticsVO;
import com.forum.vo.UserInfoVO;

import java.io.IOException;
import java.util.List;


public interface UserService {
    Result register(UserDTO userDTO);

    User login(UserDTO userDTO);

    void DeleteById(List<Long> id);

    PageResult pageQuery(UserPageQueryDTO userPageQueryDTO);

    void updateByIdStatus(Long id, Integer status);

    void updateByUsername(UserForgotDTO userForgotDTO);

    void updateById(UserDTO userDTO);

    UserInfoVO getById(Long id);

    UserInfoStatisticsVO getUserStatistics(Long id);

    void putBackground(Long id, String backgroundUrl) throws IOException;
}
